
#ifndef __SQLITE_INTERFACE_H
#define __SQLITE_INTERFACE_H

#include <vector>
#include <sqlite3.h>

/** An interface encapsulating functions to do with to the SQLite
 * library. */
class SQLiteInterface
{
   public:
      static void destroyInstance();
      static SQLiteInterface &getInstance();
      ~SQLiteInterface();
      static void func_CheckSQLiteError(sqlite3 *sdb, const char *message, const char *fpretty, int line);
   private:
      SQLiteInterface();
      /** Private pointer to hold the singleton instance. */
      static SQLiteInterface *sqlite_iface_singleton;
};

#define CheckSQLiteError(message, db) SQLiteInterface::func_CheckSQLiteError(db, (const char *)message, __PRETTY_FUNCTION__, __LINE__)

#endif
